GtkTreeView: Avoid a crash with empty trees
authorMatthias Clasen <mclasen@redhat.com>
Tue, 26 Aug 2014 04:05:14 +0000 (00:05 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Tue, 26 Aug 2014 04:06:23 +0000 (00:06 -0400)
The gesture code was assuming that the rb tree exists, which
will not be the case if the treeview is empty.

https://bugzilla.gnome.org/show_bug.cgi?id=735300

gtk/gtktreeview.c

index 146d25ae5d0428e8127585cba33f5876af275c43..efaabfb33c26e1612b335bb2aba52273aa9c71a0 100644 (file)
@@ -3320,6 +3320,12 @@ gtk_tree_view_drag_gesture_begin (GtkGestureDrag *gesture,
   GtkRBTree *tree;
   GtkRBNode *node;
 
+  if (tree_view->priv->tree == NULL)
+    {
+      gtk_gesture_set_state (GTK_GESTURE (gesture), GTK_EVENT_SEQUENCE_DENIED);
+      return;
+    }
+
   gtk_tree_view_convert_widget_to_bin_window_coords (tree_view, start_x, start_y,
                                                      &bin_x, &bin_y);
   tree_view->priv->press_start_x = tree_view->priv->rubber_band_x = bin_x;